Some early personal computers (PCS) made use of televisions as inexpensive output display devices. These early PCs, however, had output displays of limited resolutions and thus were suitable for the relatively low resolution of a television. For the purposes of this application, the term "television" may include, but is not limited to, NTSC, PAL or SECAM televisions, receivers, and monitors, or the like. In addition, as used herein, the term "television" may also refer to other types or formats of interlaced television displays including HDTV, either analog (e.g., MUSE) or digital.
As the resolution requirements for PCs increased, specialized monitors were developed to display higher resolution images. Many IBM.TM. compatible PCs utilize output displays which are so-called VGA or SVGA compatible. However, new requirements exist for a television output for a PC. So-called multimedia displays or presentations often require the use of a large video display in order to display an image to a number of people simultaneously. Large size televisions (e.g., 30" diagonal screen or the like) are readily available for such purposes. In addition, it is sometimes desirable to record the output of a PC onto videotape (e.g., VCR) for later playback, either for demonstration purposes, or to generate video programming. In addition, although PCs are found in many homes and are relatively inexpensive, a demand still exists for a relatively low cost PC for home use which could utilize existing television hardware for a video display. It should also be noted that new televideo services, such as interactive television, video-on-demand, picturephone.TM. or the like, may require the use of a fairly sophisticated PC in the customer home for generating a image on a television receiver.
Early PCs could generate a television output display fairly easily by using a display of limited resolution. However, with increased resolution displays (e.g., VGA, SVGA, or the like) some problems are encountered. In particular, software written for the VGA standard generally uses one of several screen resolutions (e.g., 640 by 480 pixels). On the other hand, television signals have been standardized according to several national and international conventions (e.g., National Television Systems Committee, or NTSC).
In particular, the NTSC television standard has 525 horizontal lines of analog video data divided into even and odd interlaced fields of 262.5 lines each. FIG. 5A depicts a frame of an NTSC image (or other interlaced image). Each frame of the NTSC image is comprised of interlaced even and odd fields. FIG. 5B depicts field one, the odd field which comprises odd numbered scan lines. FIG. 5C depicts field two, an even field which comprises even numbered scan lines. The two fields are interlaced to produce the composite frame in FIG. 5A. Each frame of FIG. 5A is refreshed at a frame rate, which for an NTSC image is 30 Hz. The fields are refreshed at a field rate twice the frame rate, which for an NTSC image would be 60 Hz.
Other television standards such as PAL or SECAM use similar interlacing schemes. Of the 525 horizontal lines in an NTSC video signal, some are taken up with what is known as the Vertical Blanking Interval (VBI) which includes pre-equalizing pulses (occupying three horizontal lines), the vertical sync pulse interval (occupying three horizontal lines), post-equalizing pulses (occupying three horizontal lines), and ten to fourteen non-video lines, which may be used for reference subcarrier phase, close captioning, descrambling data, or other so-called "in-band" data. As a result, of the 525 horizontal lines in an NTSC video signal, only 480 are available for active video.
These 480 lines of active video could be used to display 480 lines of pixel data from a 640 by 480 pixel resolution VGA display with relative ease. However, a television, unlike a computer monitor, uses a technique known as overscan to insure that the picture fills the entire video display (e.g., picture tube). Unfortunately, this overscan technique, when applied to the output of a PC may result in a display image having truncated upper and lower portions as well as truncated left and right portions. For a computer display image, such truncation is not acceptable, as useful information may appear in the truncated portions of the display image.
Thus, in order to display a high resolution PC video display on a television, the vertical resolution of the display may be decreased to accommodate the limitation of the television. For most commercially sold televisions, vertical overscan rarely exceeds 15%. Thus, if the PC output display image could be adapted to fit within 400 lines, all of the display image may appear on a television without being truncated due to overscan.
An additional problem is presented when attempting to display a high resolution PC video output on an interlaced video display such as a television. High resolution PCs (e.g., VGA, SVGA or the like) may store image data as individual pixel data in non-interlaced form in a video memory (VMEM). The pixel data may be scanned out of the video memory in sequence, converted into analog form, and displayed on a VGA compatible monitor. In order to generate a display image without flicker, a VGA compatible monitor may be refreshed at a relatively high refresh rate (e.g., 60 or 75 Hz) in order to take advantage of the persistence of vision phenomenon.
However, an interlaced video display such as a television may be refreshed at a lower frame rate, for example, 30 Hz. For a typical analog television signal, with relatively low resolution and contrast, such a refresh rate is acceptable for viewing without perceptible flicker. However, a computer display image such as a graphics display image may include a high contrast image having a horizontal line or edge which is one pixel (i.e., one horizontal line) in height. Such a line may only appear on one of two interlaced (even and odd) fields and thus may be refreshed only once per frame. For the viewer, such lines or edges may have a perceptible flicker which may make viewing the image annoying and disorienting. In general, it has been noted that such flicker effects are usually found at horizontal edges or in thin horizontal lines where the intensity or color of the line or edge is substantially different from an adjacent line in the opposite field (i.e., high contrast areas). For example, a black horizontal line on a white background may exhibit such a flicker effect.
One technique for reducing flicker involves averaging or otherwise combining each line of an interlaced display with a portion of one or more adjacent lines so as to reduce the apparent contrast between adjacent lines and thus reduce flicker. However, for a high resolution display such as a VGA display, such a technique may be difficult to implement without the use of additional components. Digital pixel data in a VGA display typically represents an address in a color look up table (LUT). The data at an address in the color look up table (LUT) represents RGB pixel data. RGB pixel data in turn drives a digital to analog converter (DAC) to output an analog pixel signal. As the digital pixel data may represent only a look up table address, it may be difficult to combine digital pixel data from adjacent lines to output a correct averaged color hybrid line. Thus, it is usually necessary to convert digital pixel data into RGB pixel data before averaging or combining pixel data from adjacent lines.
For example, for a VGA standard video controller, shown in FIG. 1, digital pixel data may be generated from VMEM 10 using eight bits to represent each pixel, for a total of 2.sup.8 or 256 possible colors. This eight-bit digital pixel data may then be fed, through FIFO 15, as an address to color look up table (LUT or RAM) 20 which outputs as data from that address an eighteen-bit RGB value. The eighteen-bit RGB value may comprise three groups of six bits each, or any other hardware specific implementation. Each group may represent an intensity value for one color (Red, Blue or Green). These RGB values may then be fed to a digital to analog converter (DAC) 30 which typically may comprise three groups of six current sources, selectively engaged by the three six-bit groups of RGB data, to generate corresponding analog outputs. These analog values may then generate pixels on video display 40, which may comprise an analog CRT monitor such as a VGA monitor or the like. The contents of look up table LUT 20 may be changed (e.g., through software) such that any 256 colors of a possible 2.sup.18 or 256 thousand colors may be displayed simultaneously.
For the purposes of illustration, pixel data stored in video memory is shown as eight-bit pixel data. It should be appreciated that a greater or lesser number of bits may be used (as is known in the art) to represent pixel data. Similarly, for the purposes of illustration, RGB data is shown as eighteen-bit data. However, as is know in the art, other numbers of bits may be used to represent RGB data. For example, twenty-four-bit RGB data may be used to provide a possible 2.sup.24 or 16 million colors. A lesser number of bits may be used for RGB pixel data as well. In addition, look up table LUT 20 may be programmed such that RGB data output from look up table LUT 20 is eight-bit data identical to the eight-bit pixel data input to look up table LUT 20. It should also be noted that although the pixel output data is shown as RGB data, other formats for pixel output data (e.g., YUV) may be used.
Thus, in order to accurately combine adjacent line information, it usually necessary to first determine RGB output values for each line or pixel to be combined. One method for averaging or combining RGB pixel data is to provide duplicate look up tables to simultaneously convert pixel data from adjacent lines into RGB pixel data.
One such system is shown in Futscher, U.S. Pat. No. 5,182,643, issued Jan. 26, 1993 and incorporated herein by reference. Futscher buffers adjacent lines of non-interlaced horizontal input video and combines the lines using time division multiplexing on a pixel by pixel basis to produce an interlaced digital output signal.
FIG. 2 illustrates one embodiment of the Futscher apparatus. Interlaced digital video is clocked into multiplexor 335 and the field buffer 360 at the pixel clock rate. The field buffer 360 is first loaded with all odd lines in a frame, then with all even lines in a frame. The output of field buffer 360 is clocked out at the pixel clock rate and is fed to multiplexor 335 and line buffer 305. The line buffer has the effect of delaying its output by one line period. Thus, for each line of interlaced digital video input to multiplexor 335, field buffer 360 and line buffer 305 present data from adjacent lines.
Multiplexor 335 outputs a multiplexed signal which is composed of alternate pixels from field buffer 360 and line buffer 305 clocked at twice the output video horizontal sweep rate. Flicker reduction is achieved by time division multiplexing the video output signal. Due to the analog nature of the DAC output, the output signal will be an analog average of the multiplexed input signals.
The data stored in field buffer 360 and line buffer 305, is digital pixel data (i.e., color look up table addresses) which by itself is difficult to combine digitally to reduce flicker. Since digital pixel data is not analogous to color, combining look up table addresses may not produce consistent results.
While the technique of Futscher may reduce flicker, the system requires the use of a buffer 305 and field buffer 360 to store adjacent line data. This technique adds additional hardware for the output stage of the video controller. In addition, while Futscher's apparatus may reduce flicker, Futscher does not address the scaling problem created when attempting to display a VGA display on a television screen. Further, it appears that each embodiment of Futscher may generate only one type of adjacent line combining technique without hardware reconfiguration.